package com.study.lu;

public class 不重复数 {
    /**
     * 给定一个有序的数组，数组中存在重复的数字，求数组中不重复的数字的个数，重复的数字算一个
     *
     * @param args
     */
    public static void main(String[] args) {

        int[] arrs = new int[]{1, 2, 3, 3, 4, 5};

        System.out.println(twoPiont(arrs));

    }

    /**
     * 把不重复的数值往前移动，并把慢指针指向不重复的数
     *
     * @param arrs
     * @return
     */
    private static int twoPiont(int[] arrs) {
        int slow = 0;

        for (int quick = 1; quick < arrs.length; quick++) {
            if (arrs[slow] != arrs[quick]) {
                slow++;
                arrs[slow] = arrs[quick];
            }
        }
        return slow + 1;
    }
}
